import scrapy
from scrapy02.items import GameItem

class GameSpider(scrapy.Spider):

    # 爬虫的名字
    name = 'game'

    # 允许爬取的域名
    allowed_domains = ['4399.com']

    # 开始爬取的 页面
    start_urls = ['http://www.4399.com/flash/']


    def parse(self, response):
        """必须重写 解析函数 parse"""

        # 提取数据
        li_list = response.xpath('//ul[@class="n-game cf"]/li')
        for li in li_list:
            ## 取游戏名
            # extract_first()：提取第一项，有则提取，无则跳过
            name = li.xpath('./a/b/text()').extract_first()

            # 取类别
            category = li.xpath('./em/a/text()').extract_first()

            # 取发布日期
            date = li.xpath('./em/text()').extract_first()

            item = GameItem()
            item['name'] = name
            item['category'] = category
            item['date'] = date

            print(item)
            # 需要用 yield 将数据传递给 管道pipelines.py
            yield item
